function ArrPush(_Arr,_ToArr){
	if(_ToArr.length>0){
		for(_I = 0; _I < _ToArr.length; _I++) {
			_Arr.push(_ToArr[_I]);
		}
	}
	return _Arr;
}

function _ValueReg(_Values,_Regs){
	if(JSON.stringify(_Values) == "{}" || JSON.stringify(_Regs) == "{}"){
		return _Values;
	}
	Object.keys(_Regs).forEach(function(key){
		var _Reg = new RegExp( '{'+key+'}' , "g" );
		Object.keys(_Values).forEach(function(key2){
			_Values[key2] = _Values[key2].replace(_Reg, _Regs[key]);
		});
	});
	return _Values;
}
//根据资源,名称和值获取数据的显示
function _Res_Val(_Res,_Name,_Val){
	if(!_Res.hasOwnProperty(_Name)){
		return '';
	}
    var _Data = _Res[_Name];
    var _Text='';
    for(var i=0; i< _Data.length; i++){
        if(_Data[i]['value'] == _Val){
            _Text = _Data[i]['text'];
        }
    }
    if(_Text){
        return _Text;
    }else{
        return '';
    }
}
function _TObj(_Res){
	if( typeof _Res != 'object' ) {
		_Res = JSON.parse(_Res); 
	}
	return _Res;
}
function _TStC(_Select){
	var ids = new Array();
	for (var i = 0; i < _Select.length; i++) {
		ids.push(_Select[i]['id'])
	}
	return ids.join(",");
}


function _MenuTabs(_Data){
	//获取这个选项卡
	var _Tabs = Ext.getCmp('Mt_'+_Data.id);
	console.log(_Tabs);
	var MainTans = Ext.getCmp('MainTans');
	if(!_Tabs){
		var _Tabs = Ext.create("Ext.ux.IFrame", {
			id:'Mt_'+_Data.id,
			frameName: _Data.name,
			iconCls:_Data.icon,
			title:_Data.title,
			scrollable: true,
            closable: true,
			closeAction:'destroy',
			src:_PATH['site']+'/'+_Data.name+_Data.extend
		});
		MainTans.add(_Tabs);
	}
	_Tabs.show();
}

function _MenuWin(_Data){
	//获取这个选项卡
	var _Win = Ext.getCmp('Mw_'+_Data.id+'_box');
	if(!_Win){
		 _Win = Ext.create("Ext.window.Window", {
			extend: "Ext.window.Window",
			id:'Mw_'+_Data.id,
			iconCls:_Data.icon,
			title:_Data.title,
			plain: true,
			resizable: true,
			maximizable: true,
			border: false,
			layout:'fit',
			closable: true,
			closeAction:'destroy',
			items:Ext.create("Ext.ux.IFrame", {
				id:'Mw_'+_Data.id+'_centent',
				frameName: _Data.name,
				scrollable: true,
				closable: true,
				closeAction:'destroy',
				src:_PATH['site']+'/'+_Data.name+_Data.extend
			}),
		 }).show();
	}
	//先隐藏后显示保证显示在屏幕最前方
	_Win.hide();
	_Win.show();
}

function _MenuAjax(_Data){
	Ext.Ajax.request({
		url: _PATH['site'] + '/' + _Data.name +_Data.extend,
		method: 'post',
		async: false,
		params: _Data.extend,
		success: function (response, options) {
			var _Res = Ext.util.JSON.decode(response.responseText);
			if (parseInt(_Res.code) == 200) {
				Ext.toast({
					title: '成功',
					html: _Res.msg,
					width: 200,
					align: 'br'
				});
			} else {
				Ext.Msg.alert('错误 [代码：'+ _Res.code +']', _Res.msg);
			}
		},
		failure: function () {
			Ext.MessageBox.alert('失败', '请求超时或网络故障');
		}
	});
}
//搜索
function _TSerch(_Res) {
	_Res = _TObj(_Res);
	if(!_Res.hasOwnProperty("title")){_Res.title='搜索';}//宽度
	if(!_Res.hasOwnProperty("width")){_Res.width=640;}//宽度
	if(!_Res.hasOwnProperty("height")){_Res.height=420;}//高度
	if(!_Res.hasOwnProperty("border")){_Res.border=false;}//边框
	if(!_Res.hasOwnProperty("modal")){_Res.modal=true;}//遮罩
	if(!_Res.hasOwnProperty("layout")){_Res.layout='fit';}//布局
	if(!_Res.hasOwnProperty("resizable")){_Res.resizable=true;}//可以改变大小
	if(!_Res.hasOwnProperty("maximizable")){_Res.maximizable=true;}//显示最大化按
	if(!_Res.hasOwnProperty("closable")){_Res.closable=true;}//显示关闭按钮
	if(!_Res.hasOwnProperty("closeAction")){_Res.closeAction="close";}//关闭的动作
	//搜索的store
	if(!_Res.hasOwnProperty("_Store")){
		Ext.Msg.alert('没有数据对象');
		return false;
	}
	//搜索的store
	if(!_Res.hasOwnProperty("_Flied")){
		Ext.Msg.alert('没有搜索字段');
		return false;
	}
	_Res.items=[{
		xtype: 'form',
		border: false,
		autoScroll: true,
		bodyPadding:10,
		defaults: {
			xtype: 'container',
			layout: 'column',
			defaults: {
				labelAlign: 'right',
				labelWidth: 100,
				xtype: "textfield",
				columnWidth: 1,
				height:30,
				margin:5,
			},
        },
		items: _Res._Flied,
		bbar: new Ext.Toolbar({height: 45,style: 'background: #5fa2dd;',items: [
			'->',
			{text: '重置',xtype: 'button',handler: function(me) {
				me.up('form').reset();
			}},
			{text: '提交',xtype: 'button',handler:function (me) {
				var _Form = me.up('form');
				var _Store = _Res._Store;
        		var _Params= _Form.getValues();
				Ext.apply(_Store.proxy.extraParams, _Params);
				Ext.toast({
					html: '操作成功',
					title: '提示',
					width: 200,
					align: 'br'
				});
				_Store.reload();
				_Form.up('window').close();
			}},
		]})
	}];
	var _TSerch_Win = Ext.create("Ext.window.Window", _Res);
	_TSerch_Win.down('form').getForm().setValues(_Res._Store.proxy.extraParams);
	//显示界面
	_TSerch_Win.show();
	return _TSerch_Win;
}

//ajax
function _TAjax(_Res) {
	_Res = _TObj(_Res);
	if(!_Res.hasOwnProperty("title")){_Res.title='确认操作';}//名称
	if(!_Res.hasOwnProperty("message")){_Res.message='是否确认进行此操作';}//信息
	if(!_Res.hasOwnProperty("params")){_Res.params={};}//操作参数
	if(!_Res.hasOwnProperty("is_msg")){_Res.is_msg=true;}//是否进行弹出提示
	//操作地址
	if(!_Res.hasOwnProperty("url")){
		Ext.Msg.alert('没有操作地址');
		return false;
	}
	//搜索的store
	if(!_Res.hasOwnProperty("_Store")){
		Ext.Msg.alert('没有数据对象');
		return false;
	}
	if(_Res.is_msg){
		Ext.Msg.confirm(_Res.title,_Res.message,function(op){  
			if(op == 'yes'){  
				Ext.Ajax.request({
					url: _Res.url,
					method: 'post',
					params: _Res.params,
					async: false, 
					success: function (response, opts) {
						_Rec = _TObj(response.responseText);
						if (parseInt(_Rec.code) == 200) {
							_Res._Store.reload();
							Ext.toast({
								html: '操作成功',
								title: '提示',
								width: 200,
								align: 'br'
							});
							return true;
						} else {
							Ext.Msg.alert('错误', _Rec.msg);
							return false;
						}
					},
					failure: function (response, opts) {
						Ext.MessageBox.alert('提示', '操作异常');
						return false;
					}
				});
			} 
		})
	}
}
//表单
function _TForm(_Res) {
	_Res = _TObj(_Res);
	if(!_Res.hasOwnProperty("title")){_Res.title='操作';}//宽度
	if(!_Res.hasOwnProperty("width")){_Res.width=600;}//宽度
	if(!_Res.hasOwnProperty("height")){_Res.height=510;}//高度
	if(!_Res.hasOwnProperty("border")){_Res.border=false;}//边框
	if(!_Res.hasOwnProperty("modal")){_Res.modal=true;}//遮罩
	if(!_Res.hasOwnProperty("layout")){_Res.layout='fit';}//布局
	if(!_Res.hasOwnProperty("resizable")){_Res.resizable=true;}//可以改变大小
	if(!_Res.hasOwnProperty("maximizable")){_Res.maximizable=true;}//显示最大化按
	if(!_Res.hasOwnProperty("closable")){_Res.closable=true;}//显示关闭按钮
	if(!_Res.hasOwnProperty("closeAction")){_Res.closeAction="close";}//关闭的动作
	if(!_Res.hasOwnProperty("params")){_Res.params={};}//操作参数
	//搜索的store
	if(!_Res.hasOwnProperty("_Store")){
		Ext.Msg.alert('没有数据对象');
		return false;
	}
	//搜索的store
	if(!_Res.hasOwnProperty("_Flied")){
		Ext.Msg.alert('没有字段');
		return false;
	}
	//操作地址
	if(!_Res.hasOwnProperty("url")){
		Ext.Msg.alert('没有操作地址');
		return false;
	}
	_Res.items=[{
		xtype: 'form',
		border: false,
		autoScroll: true,
		bodyPadding:10,
		defaults: {
			xtype: 'container',
			layout: 'column',
			defaults: {
				labelAlign: 'right',
				labelWidth: 60,
				xtype: "textfield",
				columnWidth: 1,
				height:30,
				margin:5,
			},
        },
		items: _Res._Flied,
		bbar: new Ext.Toolbar({height: 45,style: 'background: #5fa2dd;',items: [
			'->',
			{text: '提交',xtype: 'button',handler:function (me) {
				var _Form = me.up('form');
				Ext.Ajax.request({
					url: _Res.url,
					method: 'post',
					params: _Form.getValues(),
					async: false,
					success: function (response, options) {
						var _Rec = _TObj(response.responseText);
						if (parseInt(_Rec.code) == 200) {
							_Res._Store.reload();
							_Form.up('window').close();
							Ext.toast({
								html: '操作成功',
								title: '提示',
								width: 200,
								align: 'br'
							});
						} else {
							Ext.Msg.alert('错误', _Rec.msg);
						}
					},
					failure: function () {
					}
				});
			}},
		]})
	}];
	var _TForm_Win = Ext.create("Ext.window.Window", _Res);
	//加载数据
	Ext.Ajax.request({
		url: _Res.url,
		method: 'get',
		params: _Res.params,
		async: false,
		success: function (response, options) {
			var _Rec = _TObj(response.responseText);
			if (parseInt(_Rec.code) == 200) {
				_TForm_Win.down('form').getForm().setValues(_Rec.data);
			} else {
				Ext.Msg.alert('错误', _Rec.msg);
			}
		},
		failure: function () {
		}
	});
	//显示界面
	_TForm_Win.show();
	return _TForm_Win;
}